Asynchronous Transfer Mode (ATM) or “cell switching” is a method of transmitting digital information wherein the information is broken into equal sized units called “cells.” The individual cells of information are transmitted from a source node to a destination node through a “connection”. A connection is a pathway through a digital network. A digital network is constructed of digital switches coupled together by digital communication links.
Each cell originates at a source node and is transmitted across the communication links. The communication links carry the cells of information between the digital switches along the connection pathway. The digital switches route the cells from incoming communication links to outgoing communication links and finally to a destination node.
Each digital switch can be connected to several communication links. Furthermore, each communication link can carry several different connections simultaneously. Typically, a cell memory or buffer is used for temporarily holding cells prior to transmission on a communication link. The cell memory is arranged into logical queues or class of service buffers (COSB). Several queues may be used for separating different types of services and connections. For example, cells belonging to higher priority connections may be stored in queues that have a higher priority of service. In some cases, a separate queue may be assigned to each connection. Servicing a queue entails removing a cell from the queue and sending the cell out on a communication link or to a destination node coupled to the digital switch. A service algorithm is employed to select a queue for service. To fully utilize the bandwidth of a communication link, a cell should be selected for service during each service time, where a service time is equal to the time required to transmit a cell on the communication link.
Typically, switches are capable of handling different classes of cell traffic, each class having different characteristics and different service requirements. The various classes of cell traffic might include high priority traffic, voice, high-speed deterministic traffic, bursty data, etc. Typically, each of these traffic types is buffered at each switch in accordance with its particular sensitivities to network delay and cell loss. Cell loss may occur due to intermittent short-term overload of network bandwidth and lack of adequate buffer capacity. Each class of traffic may be placed in a preassigned queue at each switch, each queue having a different service priority. Servicing algorithms are typically employed to discriminate between traffic classes in order to allocate bandwidth. Delay is managed by properly sizing the queue depths and prioritizing transmission within a class.
After cells are serviced and removed from a respective queue or COSB, in order to transfer the cells to a destination node over a non-ATM packet network, for example a MultiProtocol Label Switching (MPLS) network, multiple cells belonging to different connections need to be encapsulated in a single packet. When packets enter the MPLS-based network, label edge routers (LER) within the network assign a label to each packet. This label or identifier is attached to the packet formed from the ATM cells and contains information based on a routing table entry, such as destination, bandwidth, delay, and other metrics. This label is referred to as the tunnel label. Within the tunnel, there can be multiple data flows, each of which is identified by a virtual circuit (VC) label. Each VC label represents an aggregate flow of ATM connections. Each of the VC labels is mapped to a COSB. Multiple ATM connections belonging to the same class of service are bundled into one VC label. Since the entire cell is carried with the MPLS label stack within the corresponding packet, additional overhead is added within the network. In order to reduce the per cell overhead, multiple cells need to be encapsulated within the packet without exceeding the delay and jitter characteristics for the respective connection.